package com.dangf.service;

import java.io.Serializable;
import java.util.List;

/**
 * 基础业务逻辑层
 * @author Hello_海生
 * @date 2015年2月2日
 * @param <T>
 */
public interface BaseService<T> {
	/**
	 * 保存对象
	 * @param user 对象实体
	 * @return 用户ID
	 */
	public Serializable save(T entity);
    
    /**
     * 根据Id删除对象
     * @param id
     */
    public void deleteById(Serializable id);
    
    /**
     * 删除列表
     * @param list
     */
    public void deleteAll(List<T> list);
    
    /**
     * 根据ID查询对象
     * @param id
     * @return
     */
    public T getEntityById(Serializable id);//根据条件查询一个对象
    
    /**
     * 获取所有信息
     * @return
     */
    public List<T> getAll();
    
    
    /**
     * 修改对象
     * @param entity
     */
    public void update(T entity); 
    
    
    /**
     * 保存或修改。。。。ID存在则保存，不存在则修改
     * @param entity
     */
    public void saveOrUpdate(T entity);
    
    /**
     * 批量保存或修改。。。。ID存在则保存，不存在则修改
     * @param entity
     */
    public void saveOrUpdateAll(List<T> list);

}
